Large data warehouse systems are often used in decision and operational support systems. These large systems are typically accessible by multiple users through network interfaces or mainframe communications channels. Many such systems support parallel processing, and have multiple processors. Such processing capabilities permit many users to initiate sessions and request transactions with the data warehouse.
A problem arises with typical enterprise data warehouse systems when inefficient or erroneous requests are submitted. Inefficient requests may utilize excessive amounts of CPU time or input/output bandwidth. This excessive resource utilization may slow response times of the system or tax the resources available to other users. Erroneous queries compound the problem by utilizing CPU time while producing limited benefit to users. Typical enterprise data warehouses lack the ability to track and identify inefficient and erroneous transaction requests.
These typical enterprise data warehouse systems also lack the ability to track resource utilization based on particular user sessions and transaction requests. To forecast expected resource usage and to plan for resource allocation, it may be desirable to have an historical record of resource utilization associated with session and request usage. However, typical enterprise data warehouses lack the ability to track resource usage such as CPU time and input/output traffic for unique sessions or transaction requests. Therefore an improved enterprise data warehouse system would be desirable.